using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Data;
using DTO;

using System.Data;

namespace Business
{
    public class NhanVienService
    {




		//////////////////////////////////////////////////////////

 		                                                         

		//            Enter code your here                      //

		                                                         

		//////////////////////////////////////////////////////////

       static public DataTable ConvertListNhanVienDTOToDataTable( List<NhanVienDTO> lst)
       {
               DataTable dt = new DataTable();
           dt.Columns.Add( "MaNhanVien");
           dt.Columns.Add( "HoTen");
           dt.Columns.Add( "MaChucVu");
           dt.Columns.Add( "UserName");
           dt.Columns.Add( "Pass");
           dt.Columns.Add( "CMDN");
           dt.Columns.Add( "DiaChi");
           dt.Columns.Add( "SoDienThoai");
           for( int i = 0; i < lst.Count; i ++)
           {
               dt.Rows.Add(
                       lst[i].MaNhanVien,      
                       lst[i].HoTen,      
                       lst[i].MaChucVu,      
                       lst[i].UserName,      
                       lst[i].Pass,      
                       lst[i].CMDN,      
                       lst[i].DiaChi,      
                       lst[i].SoDienThoai      
                   );
           }
               return dt;
       }
        static public int GetIdentity()
        {
            Data.NhanVienRepository repo = new NhanVienRepository();
            return repo.GetIdentity();
        }

        static public int Count()
        {
            return NhanVienRepository.Count();
        }
        public static bool Them(NhanVienDTO objDTO)
        {
                NhanVienRepository repo = new NhanVienRepository();
                return repo.Them(objDTO);
        }

        public static bool Xoa(int MaNhanVien, bool XoaKhoaNgoai=false)
        {
              NhanVienRepository Repo = new NhanVienRepository();
              return Repo.Xoa(MaNhanVien,XoaKhoaNgoai);
        }

        public static void CapNhat(NhanVienDTO objDTO)
        {
            try
            {
                NhanVienRepository Repo = new NhanVienRepository();
                Repo.CapNhat(objDTO);
            }
            catch (System.Exception )
            {
            }
        }

        public static List<NhanVienDTO> LayDanhSach()
        {
            List<NhanVienDTO> lst = new List<NhanVienDTO>();
            try
            {
                NhanVienRepository obj = new NhanVienRepository();
                lst = obj.LayDanhSach();
            }
            catch (System.Exception )
            {
            }
            return lst;
        }

        static public List<NhanVienDTO> LayDanhSach(int Start, int Record)
        {
             Data.NhanVienRepository repo = new NhanVienRepository();
            return repo.LayDanhSach(Start, Record);
        }

        public static NhanVienDTO LayTheoMa(int MaNhanVien)
        {
            NhanVienDTO objDTO = new NhanVienDTO();
            try
            {
                NhanVienRepository Repo = new NhanVienRepository();
                objDTO = Repo.LayTheoMa(MaNhanVien);
            }
            catch (System.Exception )
            {
            }
            return objDTO;
        }

//
//Khoa ngoai ChucVu
//
        static public List<NhanVienDTO> LayDanhSachTheoMaChucVu( int MaChucVu)
        {
             Data.NhanVienRepository repo = new NhanVienRepository();
            return repo.LayDanhSachTheoMaChucVu( MaChucVu);
        }

        static public void XoaTheoMaChucVu( int MaChucVu, bool XoaKhoaNgoai=false)
        {
             Data.NhanVienRepository repo = new NhanVienRepository();
            repo.XoaTheoMaChucVu( MaChucVu,XoaKhoaNgoai);
        }

    }
}

